/**
 * Created by aresn on 16/6/20.
 */
import '../common/rem.js';
import '../common/mui.js';
import Vue from 'vue';
import VueRouter from 'vue-router';
/*import Validator from 'vue-validator';*/
import App from './app.vue';
import Routers from './router';
import Env from '../config/env';
import '../filters/vue-resource';
import tongji from '../libs/tongji';

// 在入口中引入wechat模块，以正确地初始化originUrl属性
import wechat from '../libs/wechat'

Vue.use(VueRouter); // 引入路由
/*Vue.use(Validator)    //vue验证器*/
//过滤器
import '../filters/filter'

// 开启debug模式
Vue.config.debug = true;

// 路由配置
let router = new VueRouter({
    // 是否开启History模式的路由,默认开发环境开启,生产环境不开启。如果生产环境的服务端没有进行相关配置,请慎用
    history: true //Env != 'production'
});

router.map(Routers);

router.beforeEach(function (transition) {
    window.scrollTo(0, 0);

    //企业标志
    var enterpriseFlag = localStorage.getItem('enterpriseFlag')=='true';
    //去的path
    var pathTo = transition.to.path;

    if (!pathTo.match('/index')) {
        localStorage.setItem('pathTo',pathTo);
    }

    if (enterpriseFlag) {
        //如果是企业
        if (pathTo.match('/ucenter/home')) {
            //特殊处理
            transition.next();
        } else if (pathTo.match('/ucenter') || pathTo.match('/banpen')) {
            console.log('enterprise match people function abort');
            mui.toast('您目前是维修企业，暂不支持车主功能', {duration: 'short', type: 'div'});
            transition.abort();
        } else {
            console.log('enterprise not people function ,next');
            transition.next();
        }
    } else {
        transition.next();
    }
});

router.afterEach(function (transition) {
    var isprod = Env == 'production' ? true : false;
    var istest = Env == 'testing' ? true : false;
    //统计代码
    tongji.loadScript(isprod,'https://s11.cnzz.com/z_stat.php?id=1261255021&web_id=1261255021',function () {
        //console.log('load tongji code success');
    });
    // 需要配置微信jssdk的页面
    let wechatList = [
        /^\/enterprise\/list\/default$/,
        /^\/enterprise\/list\/banpen2$/,
        /^\/enterprise\/\d+/,
        /^\/banpen\/step2\/$/,
        /^\/ucenter\/order\/[A-Z]+\d+$/,
        /^\/maintenance\/orderNewContact$/
    ];
    if(isprod || istest){
        if (wechatList.some(function (pattern) {
           return transition.to.path.match(pattern)
        })) {
            wechat.configSDK();
        }
    }

});

router.redirect({
    '*': "/home"
});

router.start(App, '#app');

// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子：
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function (fmt) { //author: meizz
    var o = {
        "M+": this.getMonth() + 1, //月份
        "d+": this.getDate(), //日
        "h+": this.getHours(), //小时
        "m+": this.getMinutes(), //分
        "s+": this.getSeconds(), //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}
